/**
 * 
 */
package ar.edu.unq.svnpermission.domain;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author nicolas
 *
 */
public class Group extends Membership implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private List<User> users = new ArrayList<User>();

	/**
	 * Agrega un nuevo Usuario al Grupo
	 * @param user
	 * @author nicolas
	 */
	public void addUser(User user)
	{
		this.getUsers().add(user);
	}
	
	/**
	 * Remueve un Usuario del Grupo
	 * @param user
	 * @author nicolas
	 */
	public void removeUser(User user)
	{
		this.getUsers().remove(user);
	}
	
	/**
	 * Remueve todos los Usuario del Grupo
	 * @author nicolas
	 */
	public void removeAllUsers()
	{
		this.getUsers().removeAll(this.getUsers());
	}
	
	//Getters and Setters
	public List<User> getUsers() {
		return users;
	}
	
	@Override
	public String toString()
	{
		return this.getKeyName();
	}
	
}
